From 63ebfaf01709a8116808277175a7b00120cd906d Mon Sep 17 00:00:00 2001 From: "fred@localhost.localdomain" Date: Thu, 28 Jul 2005 01:26:30 -0800 Subject: [PATCH] Add emulation to rsm.be, which is first encounted in guest fast syscall path, where little endian is forced just after epc. Signed-off-by Kevin Tian --- xen/arch/ia64/vcpu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/arch/ia64/vcpu.c b/xen/arch/ia64/vcpu.c index b3dbdee8ae..b5ff7fcffa 100644 --- a/xen/arch/ia64/vcpu.c +++ b/xen/arch/ia64/vcpu.c @@ -155,7 +155,7 @@ IA64FAULT vcpu_reset_psr_sm(VCPU *vcpu, UINT64 imm24) // interrupt collection flag //if (imm.ic) PSCB(vcpu,interrupt_delivery_enabled) = 0; // just handle psr.up and psr.pp for now - if (imm24 & ~(IA64_PSR_PP | IA64_PSR_UP | IA64_PSR_SP + if (imm24 & ~(IA64_PSR_BE | IA64_PSR_PP | IA64_PSR_UP | IA64_PSR_SP | IA64_PSR_I | IA64_PSR_IC | IA64_PSR_DT | IA64_PSR_DFL | IA64_PSR_DFH)) return (IA64_ILLOP_FAULT); @@ -164,6 +164,7 @@ IA64FAULT vcpu_reset_psr_sm(VCPU *vcpu, UINT64 imm24) if (imm.pp) { ipsr->pp = 0; psr.pp = 0; } if (imm.up) { ipsr->up = 0; psr.up = 0; } if (imm.sp) { ipsr->sp = 0; psr.sp = 0; } + if (imm.be) ipsr->be = 0; if (imm.dt) vcpu_set_metaphysical_mode(vcpu,TRUE); __asm__ __volatile (";; mov psr.l=%0;; srlz.d"::"r"(psr):"memory"); return IA64_NO_FAULT; -- 2.30.2